package com.guoheng.hazard.sys.mapper.hazard;

import com.guoheng.hazard.sys.model.entity.hazard.SensorData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.HashMap;
import java.util.List;

@Mapper
public interface SensorDataMapper {
    int deleteByPrimaryKey(Long id);

    int insert(SensorData record);

    int insertSelective(SensorData record);

    SensorData selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SensorData record);

    int updateByPrimaryKey(SensorData record);

    /**
     * 方法功能描述: 根据传感器id查询最近的传感器数据
     *
     * @param sensorId 传感器id
     * @return   List<SensorData>
     */
    Double getLastDataBySensorId(Long sensorId);


    /**
     * 方法功能描述: 查询所有传感器信息
     *
     * @return   List<SensorData>
     */
    List<SensorData> getAllSensor();

    /**
     * 方法功能描述:时间段筛选传感器历史记录
     *
     * @param id 传感器id
     * @param beginTime 开始时间
     * @param endTime 结束时间
     * @return Result
     */
    List<SensorData> searchSensorRecord(@Param("id") Long id,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

    /**
     * 方法功能描述: 得到数据最大值最小值
     *
     * @param id 传感器id
     * @param beginTime 开始时间
     * @param endTime 结束时间
     * @return  HashMap<String,Object>
     */
    HashMap<String,Double> getMaxAndMinData(@Param("id") Long id,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

    /**
    * @Description: 传入淞港数据
    */
    Integer insertSongGangData(List<SensorData> sensorData);
}